const _ = require('lodash');
const path = require('path');
const cfg = require('../config');
const {src, run} = cfg;

cfg.root = path.resolve(__dirname, '..');

if (!run.app) run.app = {};
run.app.dir = `${run.dir}/${src.app.dir}`;

_.each(src, (v, k) => {
    if (k !== 'dir') {
        v.dir = path.join(src.dir, v.dir);
    }
});

if (!cfg.plugins) {
    cfg.plugins = [];
}

_.defaults(cfg.api, {
    protocol: 'http',
    hostname: '127.0.0.1'
});

cfg.devServer = `http://127.0.0.1:${cfg.port}`;
if (cfg.proxy) {
    cfg.proxy = cfg.proxy.map(x => `/${x}`);
} else {
    cfg.proxy = [];
}

cfg.tmp.dir = path.join(cfg.root, cfg.tmp.dir);
cfg.distDir = `${cfg.tmp.dir}/${cfg.name}`;
cfg.libsDir = 'node_modules';

module.exports = cfg;
